/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;
import Fachada.Fachada;
import java.sql.*;
import java.util.Vector;

/**
 *
 * @author GEMA
 */
public class DAOEmpleadoCampana
{private Fachada fachada;

    public DAOEmpleadoCampana()
    {
        fachada= new Fachada();
    }

    public int guardarEmpleadoCampana(String ccEmpleado, String codCampana)
    {
        String sql_guardar;
        sql_guardar= "INSERT INTO Empleado_CampaNa(cc_empleado, codigo_campaNa) VALUES" +
                "('"+ccEmpleado +"','"+codCampana+"')";

         try
        {
            Connection conexion= fachada.ConexionBaseDatos();
            Statement sentencia=conexion.createStatement();
            int numFilas= sentencia.executeUpdate(sql_guardar);
            conexion.close();
            return numFilas;
        }
        catch(SQLException e)
        {
            System.out.println(e);
        }
        catch(Exception e)
        { System.out.println(e);
        }
        return -1;

    }

   public int modificarEmpleadoCampana( String newEmpleado, String codCampana)
    {
        String sql_modificar;

        sql_modificar = "UPDATE Empleado_CampaNa " +
                        "SET cc_empleado = '" + newEmpleado + "' " +
                        "WHERE codigo_campaNa = '"+ codCampana + "'";

        try
        {
            Connection conexion = fachada.ConexionBaseDatos();
            Statement sentencia = conexion.createStatement();
            int numFilas = sentencia.executeUpdate(sql_modificar);
            conexion.close();
            return numFilas;
        }
        catch(SQLException e)
        {
            System.out.println(e);
        }
        catch(Exception e)
        {
            System.out.println(e);
        }

        return -1;
    }

    
    public int eliminarEmpleadoCampana(String codigoCampana)
    {
        String sql_eliminar;

        sql_eliminar = "DELETE FROM Empleado_CampaNa " +
                       "WHERE codigo_campaNa="+"'"+codigoCampana+"'";

        try
        {
            Connection conexion = fachada.ConexionBaseDatos();
            Statement sentencia = conexion.createStatement();
            int numFilas = sentencia.executeUpdate(sql_eliminar);
            conexion.close();
            return numFilas;
        }
        catch(SQLException e)
        {
            System.out.println(e);
        }
        catch(Exception e)
        {
            System.out.println(e);
        }

        return -1;
    }

    public Vector <Vector> empleadosEnCampaNas()
    {
        String sql_select;
        sql_select = "SELECT cc_empleado, nombre_empleado, codigo_campaNa, nombre_campaNa "+
                     "FROM (CampaNaPublicitaria NATURAL JOIN Empleado_CampaNa) NATURAL JOIN Empleado "+
                     "WHERE cc_empleado IN "+
                     "(SELECT cc_empleado "+
                     "FROM Empleado " +
                     "WHERE departamento_empleado = 'Mercadeo' AND id_jefe <> cc_empleado)";

        Vector <Vector> articulos = new Vector <Vector>();

        try
        {
            Connection conn = fachada.ConexionBaseDatos();
            Statement sentencia = conn.createStatement();
            ResultSet tabla = sentencia.executeQuery(sql_select);

            while(tabla.next())
            {
                Vector <String> elArticulo = new Vector <String>();
                elArticulo.addElement(tabla.getString(1));
                elArticulo.addElement(tabla.getString(2));
                elArticulo.addElement(tabla.getString(3));
                elArticulo.addElement(tabla.getString(4));
                articulos.addElement(elArticulo);
            }
            conn.close();
            System.out.println("Conexion cerrada");
            return articulos;
        }
        catch(SQLException e)
        {
            System.out.println(e);
            return null;
        }
        catch(Exception e)
        {
            System.out.println(e);
            return null;
        }
    }
}
